/*
* @Author: liqs
* @Date:   2020/12/23 下午2:45
 */
package main

import (
	"fmt"
	"github.com/gogo/protobuf/proto"
	"learn-use-go/edgar/proto"
)

// proto 的基本用法
// 下载地址   https://github.com/protocolbuffers/protobuf/releases
// 教程地址  https://www.cnblogs.com/jkko123/p/7161843.html
// 生成pb.go 文件  protoc --go_out=. *.proto
// 然后使用该文件进行数据的编写  后面对比下普通文本的大小
func main() {
	person := &pb.Person{
		Name:   "yz",
		Age:    11,
		Emails: []string{"782365461@qq.com", "123456@163.com"},
	}

	//marshal:  obj---[]byte
	data, err := proto.Marshal(person)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(data)

	//unmarshal : []byte---obj  err
	//newPersonObj := &pb.Person{}
	//err = proto.Unmarshal(data, newPersonObj)
	//if err != nil {
	//    fmt.Println(err)
	//}

	//fmt.Println(newPersonObj)
}
